/**
 * @file
 * @description 对axios进行二次封装的请求文件
 */

import axios from "axios";
import { Message } from "element-ui"


axios.defaults.timeout = process.env.VUE_APP_TIMEOUT;
axios.defaults.baseURL = "";

/**
 * 请求拦截器
 */
axios.interceptors.request.use(config => {
    //TODO添加验证头
    return config
}, error => Promise.reject(error))


/***
 * 响应拦截器
 */

axios.interceptors.response.use(response => {
    // 处理响应信息
    return response
}, error => {
    const errorMsg = error.toString();
    if (errorMsg.includes('Netword Error')) {
        return Message.error('网络请求失败，请检查你的网络是否正常')
    }
    if (errorMsg.includes('Timeout')) {
        return Message.error('请求超时，请稍后再试')
    }
    const { status } = error.response;
    switch (status) {
        case 404:
            Message.error("接口不存在");
            break;
        case 500:
            Message.error("接口不服务器请求失败,请稍后再试");
            break;
        case 401:
            Message.error("身份检验失败,请重新登录");
            // toko
            break;
        default:
            Message.error("未知错误")
            break
    }
    return Promise.reject(error)
})